﻿#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include "MyString.h"
using namespace std;

//1.测试MyString；
void testMyString()
{
	MyString str = "abc";//有参构造调用！
	cout << str << endl;//abc

	/*int a = 10;
	cin >> a;//1000
	cout << "a= " << a << endl;//a= 1000*/

	cout << "请输入str新的内容：" << endl;
	cin >> str;
	cout << "str新内容为：" << str << endl;//str新内容为：def

	MyString strCopy(str);//拷贝构造调用！
	MyString strAssign = "aaaaa";//有参构造调用！
	strAssign = strCopy;
	cout << "strAssign= " << strAssign << endl;//strAssign= def

	strAssign = "bbbb";
	cout << "strAssign= " << strAssign << endl;//strAssign= bbbb

	strAssign[0] = 'W';
	cout << "strAssign的第一个位置为：" << strAssign[0] << endl;//strAssign的第一个位置为：W

	MyString strSplit = "";//有参构造调用！
	strSplit = strCopy + strAssign;//析构函数调用！
	cout << "strSplit为：" << strSplit << endl;//strSplit为：defWbbb

	if (strAssign == strSplit)
	{
		cout << "strAssign与strSplit相等！" << endl;
	}
	else
	{
		cout << "strAssign与strSplit不相等！" << endl;//strAssign与strSplit不相等！
	}
	//析构函数调用！
	//析构函数调用！
	//析构函数调用！
	//析构函数调用！
}

//main284：强化训练字符串类的封装
int main284()
{
	testMyString();
	/*
	有参构造调用！
	abc
	请输入str新的内容：
	def
	str新内容为：def
	拷贝构造调用！
	有参构造调用！
	strAssign= def
	strAssign= bbbb
	strAssign的第一个位置为：W
	有参构造调用！
	有参构造调用！
	拷贝构造调用！
	析构函数调用！
	析构函数调用！
	strSplit为：defWbbb
	strAssign与strSplit不相等！
	析构函数调用！
	析构函数调用！
	析构函数调用！
	析构函数调用！
	*/

	system("pause");
	return EXIT_SUCCESS;
}